package com.lncg.entity;

import java.time.LocalDateTime;

/**
 * 设备下发数据实体类
 */
public class DeviceSendData {
    
    private Long id;
    private String instructionId;     // 指令编号
    private Integer instructionType;  // 指令类型
    private String imei;              // 设备IMEI
    private String meterCode;         // 表号
    private String vendorCode;        // 厂家代码
    private String ipAddress;         // IP地址
    private String ipMask;            // 子网掩码
    private String port;              // 端口
    private String positiveData;      // 正累计
    private String negativeData;      // 负累计
    private String onlineInterval;    // 上线间隔代码
    private String retryCount;        // 重发次数
    private String rawFrame;          // 原始报文
    private Integer sendStatus;       // 发送状态
    private LocalDateTime sendTime;   // 发送时间
    private String crc16;             // CRC校验码
    private String createBy;          // 创建者
    private LocalDateTime createTime; // 创建时间
    private String updateBy;          // 更新者
    private LocalDateTime updateTime; // 更新时间

    // 构造函数
    public DeviceSendData() {}

    // Getter和Setter方法
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getInstructionId() {
        return instructionId;
    }

    public void setInstructionId(String instructionId) {
        this.instructionId = instructionId;
    }

    public Integer getInstructionType() {
        return instructionType;
    }

    public void setInstructionType(Integer instructionType) {
        this.instructionType = instructionType;
    }

    public String getImei() {
        return imei;
    }

    public void setImei(String imei) {
        this.imei = imei;
    }

    public String getMeterCode() {
        return meterCode;
    }

    public void setMeterCode(String meterCode) {
        this.meterCode = meterCode;
    }

    public String getVendorCode() {
        return vendorCode;
    }

    public void setVendorCode(String vendorCode) {
        this.vendorCode = vendorCode;
    }

    public String getIpAddress() {
        return ipAddress;
    }

    public void setIpAddress(String ipAddress) {
        this.ipAddress = ipAddress;
    }

    public String getIpMask() {
        return ipMask;
    }

    public void setIpMask(String ipMask) {
        this.ipMask = ipMask;
    }

    public String getPort() {
        return port;
    }

    public void setPort(String port) {
        this.port = port;
    }

    public String getPositiveData() {
        return positiveData;
    }

    public void setPositiveData(String positiveData) {
        this.positiveData = positiveData;
    }

    public String getNegativeData() {
        return negativeData;
    }

    public void setNegativeData(String negativeData) {
        this.negativeData = negativeData;
    }

    public String getOnlineInterval() {
        return onlineInterval;
    }

    public void setOnlineInterval(String onlineInterval) {
        this.onlineInterval = onlineInterval;
    }

    public String getRetryCount() {
        return retryCount;
    }

    public void setRetryCount(String retryCount) {
        this.retryCount = retryCount;
    }

    public String getRawFrame() {
        return rawFrame;
    }

    public void setRawFrame(String rawFrame) {
        this.rawFrame = rawFrame;
    }

    public Integer getSendStatus() {
        return sendStatus;
    }

    public void setSendStatus(Integer sendStatus) {
        this.sendStatus = sendStatus;
    }

    public LocalDateTime getSendTime() {
        return sendTime;
    }

    public void setSendTime(LocalDateTime sendTime) {
        this.sendTime = sendTime;
    }

    public String getCrc16() {
        return crc16;
    }

    public void setCrc16(String crc16) {
        this.crc16 = crc16;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return "DeviceSendData{" +
                "id=" + id +
                ", instructionId='" + instructionId + '\'' +
                ", instructionType=" + instructionType +
                ", imei='" + imei + '\'' +
                ", meterCode='" + meterCode + '\'' +
                ", vendorCode='" + vendorCode + '\'' +
                ", ipAddress='" + ipAddress + '\'' +
                ", ipMask='" + ipMask + '\'' +
                ", port='" + port + '\'' +
                ", positiveData='" + positiveData + '\'' +
                ", negativeData='" + negativeData + '\'' +
                ", onlineInterval='" + onlineInterval + '\'' +
                ", retryCount='" + retryCount + '\'' +
                ", rawFrame='" + rawFrame + '\'' +
                ", sendStatus=" + sendStatus +
                ", sendTime=" + sendTime +
                ", crc16='" + crc16 + '\'' +
                ", createBy='" + createBy + '\'' +
                ", createTime=" + createTime +
                ", updateBy='" + updateBy + '\'' +
                ", updateTime=" + updateTime +
                '}';
    }
}
